﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace Practice
{
    class parser
    {
        public delegate int Ready(int m);
        /// <summary>
        /// событие, с помощью которого производится вывод полученной информации
        /// </summary>
        public event Ready OnReady;

        /// <summary>
        /// метод, с помощью которого производится подсчёт блоков try{}catch{}
        /// </summary>
        public void Parse(string s)
        {
            string pattern = @"(^|\s)try(\s|$)";
            string pattern_ = @"(//).*(\s)try(\s).*$";

            int i = 0; int j = 0; //Счетчик вхождений
            Regex regex = new Regex(pattern);
            Match match = regex.Match(s);

            while (match.Success)
            {
                i++;
                match = match.NextMatch();
            }

            Regex regex_ = new Regex(pattern_);
            Match match_ = regex_.Match(s);
            while (match_.Success)
            {
                j++;
                match_ = match_.NextMatch();
            }

            if (OnReady != null)
            {
                OnReady(i - j);
            }
        }
    }
}
